- Nearly half of Gen AI adopters want it open source - here's why
- How to merge PDF files from the web, desktop, and command line
- VisionLab lanza los primeros cristales con IA ‘made in Spain’
- I tried replacing Twitter with Bluesky, Threads, and Mastodon: Here's what I found
- The Role of Security Configuration Management in Achieving Zero Trust
Number plan globalisation (based on the Australian Numbering Plan) – Part 2
Number plan globalisation (based on the Australian Numbering Plan) – Part 2 The Chuck Norris Route Pattern
Part II of my E.164 globalization on Cisco Unified Call Manager series. In this part, I will discuss and describe the nuts and bolts of making E.164 happen. In part one I have already discussed the why. Cisco has a really good chapter on this topic in their services and features guide:
http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/admin/8_5_1/ccmfeat/fscallpn.htmlhttp://www.cisco.com/en/US/docs/voice_ip_comm/cucm/admin/8_5_1/ccmfeat/fscallpn.html
INBOUND CALLING PARTY NORMALIZATION
1-Incoming calling party normalisation to E.164
Incoming Calling Party Transformation on the gateway |
I |
2-Incoming calling party localisation
So the next step is localizing the E.164 format back. Remember that the calling party presentations that we have obtained in step 1, are OK if the call will be presented to an oversees user (who can quickly ascertain that the call is international and from a party in Australia) but are not so meaningful for an Australian user who would probably want to see where in Australia the call originated. So, according to the AUNP and using our example location, Melbourne, this localization equates to:2-Incoming Calling Party Localization
National: 0[23478]XXXXXXXX (10 digits)
Calling Party Transformation CSS setting in the Device Pool Configuration |
Now onto the actual Calling Party Transformation Pattern (CngPTP).
I |
Subscriber CngPTP |
National/STD CngPTP |
I |
Please not that in the pattern above, calls from Mobile phones (04XXXXXXXX) are included as well.
OUTBOUND CALLED PARTY NORMALIZATION
1-The magic route pattern +! used to Globalize
So first of, our magic omnipotent, trillion million times meaner than wannabees Lars Ulrich and James Hetfield together, it is truly the Chuck Norris of Route Patterns: +!
+! route pattern |
(The pattern is actually entered as \+! , otherwise CUCM will not accept its entry). Because Class of Control cannot be enforced on a RP level any more, (simply because we have only one RP and thus cannot make any distinction anymore) all phones will have the PT_AUS_OFFNET_E164 partition in their CSS (unless of course certain phones are not allowed to make Off Net calls). As you can also see, this pattern uses RL “RL_LOCAL”, which points to the SLRG.
2-Translation Patterns and Class of Control
Translation Patterns for Globalisationa and to allow class of control |
- Emergency and Local (CSS_LOCAL)
- Emergency, Local and Standard (CSS_STD)
- Emergency, Local, Standard and International (CSS_INTL)
- Emergency, Local, Standard, International and Premium (CSS_PREM)
There is one flaw in this approach, and I let you sit on it for a while, if you have picked it up, well, you must be a nerd. It has to do with our missed call log and enforcing Class of Control on those numbers. As you will remember all missed/received calls have the +E.164 format (seeing they were dictated by the Incoming Calling party settings on the CUCM gateway). These could be subscriber, national, or international calls. Now, if we don’t cover them off, then any user in the CSS CSS_STD, would still be able to make international calls. This because a user dialing, for instance, +44 20 1122 3344, from the missed call history, would have a match on our +! RP. The same would applies for a Melbourne user with the local calling privileges only i.e. CSS_LOCAL, with a missed call from +61781122334. So TP’s will need to be put into place to allow Class of Control enforcing, for E.164 formatted called numbers. The last 2 patterns in the table above, cover these missed call history numbers.
Calling Party Transformation CSS on Gateway page |
This would lead to the following CdPTP, in this case for National calls:
One of the last things that needs to be taken care of, is pattern transformation when dialing from phone history, remember that these all have +E164 notation. (Remember I said that CngPTP’s do NOT change the CUCM DB and will therefore not change the call history!!). Therefore, I want to bring this back to the original 10 digits for national and 8 digits for subscriber. So I will need to add 2 more CdPTPs. So for subscriber calls I would add a pattern \+613.[89]XXXXXXXX and I would DD=Predot and prefix 0. In summary, I would end up with the following CdPTP’s:
CdPTP summary |
So I guess open for discussion at this stage, is should I replace all, but the last 2 (in table above) to CdPTP +!, this would strip just the + off all called parties, except for National and Subscriber calls (where I would strip +, the country code and the national code for a subscriber call). i will look into this further and edit this post accordingly. I am inclined to strip the + sign of all called party numbers before sending it out. This would result in called party numbers with a prefixed 0 for subscriber, national, and international calls. This would further reduce the number of CdPTP, but more importantly it will simplify the the gateway configuration. Let me explain.
Now the other thing i haven’t mentioned yet (well, since part I anyway) and you should have probably realized by now, is that AAR is gonna be a doddle to set up. Once you have fully compatible E.164 dial plan and all the external phone number masks are in E.164 formats, there is no need to additional AAR group prefix configuration.
Tail End Hop Off (TEHO) will be a hell of a lot easier as well, especially when international calls can be handed over to their respective geographically local gateways. For instance handing off all calls for Sydney (the other Australian city) to the local gateway is as simple as adding a +612XXXXXXXX pattern and pointing it to the Sydney gateway (NOT USING SLRG’s), easy as that